package com.elsa.common.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.context.annotation.Import;

import com.elsa.common.selector.ElsaCloudApplicationSelector;
/**
 * @projectName：elsa-common
 * @typeName：ElsaCloudApplication
 * @author：cos
 * @date：2021年5月13日
 * @version
 * @desc：多注解功能整合为一个注解
 * 	@EnableElsaServerProtect，开启微服务防护，避免客户端绕过网关直接请求微服务
 *	@EnableElsaOauth2FeignClient，开启带令牌的Feign请求，避免微服务内部调用出现401异常
 *	@EnableElsaAuthExceptionHandler，认证类型异常翻译
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(ElsaCloudApplicationSelector.class)
public @interface ElsaCloudApplication {

}
